คำถามติดแท็ก sql-server-2008

ใช้แท็กนี้สำหรับคำถามเฉพาะของ Microsoft SQL Server รุ่น 2008

9
เชื่อมต่อผู้ใช้ Windows ที่แตกต่างกันใน SQL Server Management Studio (2005 หรือใหม่กว่า)
มีวิธีใดใน SQL Server Management Studio 2005 (หรือใหม่กว่า) เพื่อเปลี่ยนผู้ใช้ Windows Authentication (อย่างที่คุณสามารถทำได้ใน SQL Server 2000 และเก่ากว่า)? นี่คือไดอะล็อกคุณสมบัติการเชื่อมต่อทั่วไป (จดบันทึก UID / PWD สีเทาเมื่อเลือก Windows Auth): FYI - การแก้ปัญหาเพียงอย่างเดียวคือการใช้runasแต่ฉันกำลังมองหาโซลูชันที่จะช่วยให้ฉันทำงานกับบัญชี Windows หลายบัญชีผ่านเซิร์ฟเวอร์หลายเครื่อง (และในหลายโดเมน)

13
SQL Server - คืนค่าหลัง INSERT
ฉันพยายามรับคีย์ - ค่ากลับมาหลังจากคำสั่ง INSERT ตัวอย่าง: ฉันมีตารางพร้อมชื่อแอตทริบิวต์และรหัส id เป็นค่าที่สร้างขึ้น INSERT INTO table (name) VALUES('bob'); ตอนนี้ฉันต้องการรับรหัสกลับมาในขั้นตอนเดียวกัน มันจะทำอย่างไร เรากำลังใช้ Microsoft SQL Server 2008


29
ฉันจะเลือกวันแรกของเดือนใน SQL ได้อย่างไร
ฉันแค่ต้องเลือกวันแรกของเดือนของตัวแปร datetime ที่กำหนด ฉันรู้ว่ามันง่ายที่จะใช้รหัสประเภทนี้: select CAST(CAST(YEAR(@mydate) AS VARCHAR(4)) + '/' + CAST(MONTH(@mydate) AS VARCHAR(2)) + '/01' AS DATETIME) แต่นี่ไม่ได้สวยงามมากและอาจไม่เร็วนักเช่นกัน มีวิธีที่ดีกว่าในการทำเช่นนี้? ฉันใช้ SQL Server 2008

8
ฉันจะดูการเชื่อมต่อ SQL Server ที่ใช้งานอยู่ได้อย่างไร
ฉันใช้ SQL Server 2008 Enterprise ฉันต้องการดูการเชื่อมต่อ SQL Server ที่ใช้งานอยู่และข้อมูลที่เกี่ยวข้องของการเชื่อมต่อทั้งหมดเช่นจากที่อยู่ IP ใดเชื่อมต่อกับฐานข้อมูลใดหรืออะไร มีคำสั่งที่มีอยู่เพื่อแก้ไขปัญหานี้หรือไม่?


17
Entity Framework มี DataReader แบบเปิดที่เชื่อมโยงกับคำสั่งนี้อยู่แล้ว
ฉันใช้ Entity Framework และบางครั้งฉันจะได้รับข้อผิดพลาดนี้ EntityCommandExecutionException {"There is already an open DataReader associated with this Command which must be closed first."} at System.Data.EntityClient.EntityCommandDefinition.ExecuteStoreCommands... แม้ว่าฉันจะไม่ได้ทำการจัดการการเชื่อมต่อด้วยตนเอง ข้อผิดพลาดนี้เกิดขึ้นเป็นระยะ รหัสที่ก่อให้เกิดข้อผิดพลาด (สั้นลงเพื่อความสะดวกในการอ่าน): if (critera.FromDate > x) { t= _tEntitites.T.Where(predicate).ToList(); } else { t= new List<T>(_tEntitites.TA.Where(historicPredicate).ToList()); } ใช้รูปแบบการกำจัดเพื่อเปิดการเชื่อมต่อใหม่ทุกครั้ง using (_tEntitites = new TEntities(GetEntityConnection())) { if (critera.FromDate > …

13
ฉันจะตัดทอนข้อมูลวันที่ใน SQL Server ได้อย่างไร
เป็นวิธีที่ดีที่สุดในการตัดทอนค่าวันที่และเวลา (เป็นลบชั่วโมงนาทีและวินาที) ใน SQL Server 2008 อะไร ตัวอย่างเช่น: declare @SomeDate datetime = '2009-05-28 16:30:22' select trunc_date(@SomeDate) ----------------------- 2009-05-28 00:00:00.000


5
“ ป้องกันการเปลี่ยนแปลงการบันทึกที่ต้องการให้สร้างตารางใหม่” ผลกระทบเชิงลบ
คำนำ ฉันแก้ไขคอลัมน์ใน SQL Server 2008 วันนี้เปลี่ยนประเภทข้อมูลจากสกุลเงิน (18,0) เป็น (19,2) ฉันได้รับข้อผิดพลาด "การเปลี่ยนแปลงที่คุณทำต้องใช้ตารางต่อไปนี้เพื่อทำการดร็อปและสร้างใหม่" จาก SQL Server ก่อนที่คุณจะตอบคำถามโปรดอ่านสิ่งต่อไปนี้: ฉันรู้แล้วว่ามีตัวเลือกในเครื่องมือ►ตัวเลือก►ผู้ออกแบบ►นักออกแบบตารางและฐานข้อมูล►ยกเลิกการทำเครื่องหมายในช่อง "ป้องกันการบันทึกการเปลี่ยนแปลงที่ต้องมีการสร้างตารางใหม่" ... ดังนั้นอย่าตอบด้วย! คำถามจริง คำถามจริงของฉันมีไว้สำหรับอย่างอื่นดังนี้: มีผลเสีย / ข้อเสียที่เป็นไปได้ของการทำเช่นนี้หรือไม่? จริง ๆ แล้วตารางจะถูกดร็อปและสร้างใหม่โดยอัตโนมัติเมื่อไม่ได้ทำเครื่องหมายในช่องนี้หรือไม่? ถ้าเป็นเช่นนั้นตารางจะคัดลอกแบบจำลองที่แน่นอน 100% ของตารางต้นฉบับหรือไม่

15
SQL Server เพิ่มคีย์หลักที่เพิ่มขึ้นอัตโนมัติไปยังตารางที่มีอยู่
ในฐานะที่เป็นชื่อฉันมีตารางที่มีอยู่ซึ่งมีประชากร 150000 รายการอยู่แล้ว ฉันได้เพิ่มคอลัมน์รหัส (ซึ่งปัจจุบันเป็นโมฆะ) ฉันสมมติว่าฉันสามารถเรียกใช้แบบสอบถามเพื่อเติมคอลัมน์นี้ด้วยตัวเลขที่เพิ่มขึ้นจากนั้นตั้งค่าเป็นคีย์หลักและเปิดใช้การเพิ่มอัตโนมัติ นี่เป็นวิธีที่ถูกต้องในการดำเนินการต่อหรือไม่? และถ้าเป็นเช่นนั้นฉันจะเติมตัวเลขเริ่มต้นได้อย่างไร

7
เลือก SQL Server เป็น @variable หรือไม่
ฉันมีรหัสต่อไปนี้ในหนึ่งใน Sql ของฉัน (2008) Procs ที่เก็บไว้ซึ่งดำเนินการได้อย่างสมบูรณ์แบบ: CREATE PROCEDURE [dbo].[Item_AddItem] @CustomerId uniqueidentifier, @Description nvarchar(100), @Type int, @Username nvarchar(100), AS BEGIN DECLARE @TopRelatedItemId uniqueidentifier; SET @TopRelatedItemId = ( SELECT top(1) RelatedItemId FROM RelatedItems WHERE CustomerId = @CustomerId ) DECLARE @TempItem TABLE ( ItemId uniqueidentifier, CustomerId uniqueidentifier, Description nvarchar(100), Type int, Username nvarchar(100), …

4
ข้อ จำกัด ที่ไม่ซ้ำกันในหลายคอลัมน์
CREATE TABLE [dbo].[user]( [userID] [int] IDENTITY(1,1) NOT NULL, [fcode] [int] NULL, [scode] [int] NULL, [dcode] [int] NULL, [name] [nvarchar](50) NULL, [address] [nvarchar](50) NULL, CONSTRAINT [PK_user_1] PRIMARY KEY CLUSTERED ( [userID] ASC ) ) ON [PRIMARY] GO ฉันจะเพิ่มข้อ จำกัด เฉพาะสำหรับคอลัมน์ที่fcode, scode, dcodeมีt-sqlและ / หรือmanagement studioอย่างไร fcode, scode, dcodeจะต้องไม่ซ้ำกัน

10
แทรก SQL Server ถ้าไม่มีอยู่
ฉันต้องการแทรกข้อมูลลงในตารางของฉัน แต่แทรกเฉพาะข้อมูลที่ไม่มีอยู่ในฐานข้อมูลของฉัน นี่คือรหัสของฉัน: ALTER PROCEDURE [dbo].[EmailsRecebidosInsert] (@_DE nvarchar(50), @_ASSUNTO nvarchar(50), @_DATA nvarchar(30) ) AS BEGIN INSERT INTO EmailsRecebidos (De, Assunto, Data) VALUES (@_DE, @_ASSUNTO, @_DATA) WHERE NOT EXISTS ( SELECT * FROM EmailsRecebidos WHERE De = @_DE AND Assunto = @_ASSUNTO AND Data = @_DATA); END และข้อผิดพลาดคือ: ข่าวสารเกี่ยวกับ 156, ระดับ …

12
สคริปต์เพื่อฆ่าการเชื่อมต่อทั้งหมดไปยังฐานข้อมูล (มากกว่า RESTRICTED_USER ROLLBACK)
ฉันมีฐานข้อมูลการพัฒนาที่ปรับใช้บ่อยครั้งจากโครงการฐานข้อมูล Visual Studio (ผ่านการสร้างอัตโนมัติ TFS) บางครั้งเมื่อฉันรันงานสร้างฉันได้รับข้อผิดพลาดนี้: ALTER DATABASE failed because a lock could not be placed on database 'MyDB'. Try again later. ALTER DATABASE statement failed. Cannot drop database "MyDB" because it is currently in use. ฉันลองสิ่งนี้: ALTER DATABASE MyDB SET RESTRICTED_USER WITH ROLLBACK IMMEDIATE แต่ฉันยังไม่สามารถวางฐานข้อมูล (ฉันเดาว่านักพัฒนาส่วนใหญ่dboสามารถเข้าถึงได้) ฉันสามารถเรียกใช้SP_WHOและเริ่มต้นการเชื่อมต่อด้วยตนเองได้แต่ฉันต้องการวิธีอัตโนมัติในการสร้างอัตโนมัติ (แม้ว่าครั้งนี้การเชื่อมต่อของฉันจะเป็นเพียงหนึ่งเดียวบนฐานข้อมูลที่ฉันพยายามจะวาง) มีสคริปต์ที่สามารถลบฐานข้อมูลของฉันได้หรือไม่

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.