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

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

15
จะวางตารางทั้งหมดในฐานข้อมูล SQL Server ได้อย่างไร
ฉันพยายามเขียนสคริปต์ที่จะทำให้ฐานข้อมูล SQL Server ว่างเปล่า นี่คือสิ่งที่ฉันมี: USE [dbname] GO EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all' EXEC sp_msforeachtable 'DELETE ?' เมื่อฉันเรียกใช้ใน Management Studio ฉันจะได้รับ: คำสั่งเสร็จสมบูรณ์แล้ว แต่เมื่อฉันรีเฟรชรายการตารางพวกเขาทั้งหมดยังคงอยู่ที่นั่น ผมทำอะไรผิดหรือเปล่า?

10
SQL Server ตัวหลัก“ dbo” ไม่มีอยู่
ฉันได้รับข้อผิดพลาดดังต่อไปนี้ Cannot execute as the database principal because the principal "dbo" does not exist, this type of principal cannot be impersonated, or you do not have permission. ฉันอ่านเกี่ยวกับเรื่องALTER AUTHORIZATIONนี้ แต่ฉันไม่รู้ว่าฐานข้อมูลนี้เกิดอะไรขึ้นข้อผิดพลาดนี้ทำให้เกิดการคายออกบ่อยมากและเพิ่มบันทึกข้อผิดพลาดประมาณ 1GB ทุกวัน

8
คุณดูข้อความทั้งหมดจาก ntext หรือ nvarchar (สูงสุด) ใน SSMS ได้อย่างไร
คุณดูข้อความทั้งหมดจาก NTEXT หรือ NVARCHAR (สูงสุด) ใน SQL Server Management Studio ได้อย่างไร ตามค่าเริ่มต้นดูเหมือนว่าจะส่งคืนอักขระสองสามร้อยตัวแรกเท่านั้น (255?) แต่บางครั้งฉันต้องการวิธีที่รวดเร็วในการดูฟิลด์ทั้งหมดโดยไม่ต้องเขียนโปรแกรมเพื่อทำ แม้แต่ SSMS 2012 ยังมีปัญหานี้ :(

16
แบบสอบถาม SQL Server เพื่อค้นหาสิทธิ์ / การเข้าถึงทั้งหมดสำหรับผู้ใช้ทั้งหมดในฐานข้อมูล
ฉันต้องการเขียนแบบสอบถามใน sql 2008 ที่จะรายงานผู้ใช้ทั้งหมดที่มีการเข้าถึงฐานข้อมูลเฉพาะหรือวัตถุภายในฐานข้อมูลเช่นตารางมุมมองและขั้นตอนการจัดเก็บไม่ว่าโดยตรงหรือเนื่องจากบทบาท ฯลฯ จะใช้รายงานเพื่อจุดประสงค์ในการตรวจสอบความปลอดภัย ไม่แน่ใจว่าใครมีคำถามที่จะตอบสนองความต้องการของฉันอย่างสมบูรณ์ แต่หวังว่าสิ่งที่จะให้ฉันเริ่มต้นที่ดี อาจมี sql 2008, 2005 หรือ 2000 ฉันสามารถแปลงได้ตามต้องการ

5
คุณใช้ varchar (MAX) ขนาดใดในการประกาศพารามิเตอร์ของคุณ
ปกติฉันจะตั้งขนาดคอลัมน์เมื่อสร้างพารามิเตอร์ใน ADO.NET แต่ฉันจะใช้ขนาดใดถ้าคอลัมน์เป็นVARCHAR(MAX)อย่างไร cmd.Parameters.Add("@blah", SqlDbType.VarChar, ?????).Value = blah;

8
วิธีการเปลี่ยน SQL ใน“ แก้ไข 200 แถวสูงสุด” ใน SSMS 2008
ใน SQL Server 2008 Management Studio เมื่อฉันคลิกขวาบนตารางฐานข้อมูลและเลือก " เลือก 100 แถวสูงสุด " ฉันสามารถเพิ่มคำสั่ง "ORDER BY" ลงใน SQL ได้อย่างง่ายดาย ที่ทำงานได้ดี แต่เมื่อฉันเลือก " แก้ไข Top 200 Rows " ฉันไม่มีความสามารถในการแก้ไข SQL (ซึ่งทำให้ยากต่อการค้นหาและแก้ไขระเบียนที่เพิ่งเพิ่มเข้าไปใน 10,000 ที่มีอยู่) ฉันกำลังค่อนข้างแน่ใจว่าผมสามารถที่จะทำเช่นนี้ในSQL Server 2000 SMSS 2008 มีวิธีใดบ้างในการเปลี่ยนแปลงวิธีการแสดงระเบียนเมื่อทำการแก้ไขบันทึก

9
เปลี่ยนความยาวสูงสุดของคอลัมน์ varchar หรือไม่
ฉันพยายามอัปเดตความยาวของคอลัมน์ varchar จาก 255 ตัวอักษรเป็น 500 โดยไม่สูญเสียเนื้อหา ก่อนหน้านี้ฉันทำดร็อปและสร้างตารางใหม่ แต่ฉันไม่เคยเห็นคำสั่งเปลี่ยนแปลงซึ่งเป็นสิ่งที่ฉันเชื่อว่าฉันต้องใช้เพื่อทำสิ่งนี้ ฉันพบเอกสารที่นี่: ALTER TABLE (Transfact-SQL)แต่ฉันไม่สามารถทำหัวหรือก้อยได้ ฉันมีดังต่อไปนี้ (เป็นหลักไม่มีอะไรน่าเสียดาย): alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 ฉันจะเข้าใกล้สิ่งนี้ได้อย่างไร มีเอกสารที่ดีกว่าสำหรับคำสั่งนี้หรือไม่ (ฉันได้ค้นหาคำสั่งตัวอย่างบางส่วน แต่ว่างเปล่า)

6
เปลี่ยนคอลัมน์เพิ่มข้อ จำกัด เริ่มต้น
ฉันมีตารางและหนึ่งในคอลัมน์คือ "วันที่" ประเภทวันที่และเวลา เราตัดสินใจเพิ่มข้อ จำกัด เริ่มต้นในคอลัมน์นั้น Alter table TableName alter column dbo.TableName.Date default getutcdate() แต่สิ่งนี้ทำให้ฉันมีข้อผิดพลาด: ไวยากรณ์ไม่ถูกต้องใกล้กับ '.' ไม่มีใครเห็นอะไรผิดปกติอย่างชัดเจนที่นี่ซึ่งฉันหายไป (นอกจากชื่อคอลัมน์ที่ดีกว่า)


16
วิธีรับผลรวมสะสม
declare @t table ( id int, SomeNumt int ) insert into @t select 1,10 union select 2,12 union select 3,3 union select 4,15 union select 5,23 select * from @t การเลือกด้านบนส่งกลับฉันดังต่อไปนี้ id SomeNumt 1 10 2 12 3 3 4 15 5 23 ฉันจะรับสิ่งต่อไปนี้ได้อย่างไร: id srome CumSrome 1 10 10 …

8
nvarchar (สูงสุด) vs NText
ข้อดีและข้อเสียของการใช้nvarchar(max)vs. กับNTextชนิดข้อมูลใน SQL Server คืออะไร ฉันไม่ต้องการความเข้ากันได้แบบย้อนหลังดังนั้นจึงเป็นเรื่องปกติที่nvarchar(max)ไม่รองรับ SQL Server รุ่นเก่า แก้ไข:เห็นได้ชัดว่าคำถามนี้ใช้กับTEXTและIMAGEเทียบกับvarchar(max)และvarbinary(max)สำหรับผู้ที่ค้นหาประเภทข้อมูลเหล่านั้นในภายหลัง

10
บันทึกผลลัพธ์ด้วยส่วนหัวใน Sql Server Management Studio
ฉันใช้ Studio จัดการเซิร์ฟเวอร์ SQL ฉันต้องการบันทึกผลลัพธ์ของแบบสอบถามลงในไฟล์ excel ฉันเลือก "บันทึกเป็น" จากนั้นบันทึกลงในไฟล์ CSV ซึ่งฉันสามารถเปิดใน excel ทั้งหมดดียกเว้นฉันไม่มีส่วนหัวคอลัมน์ความคิดใด ๆ ที่ฉันจะส่งออกได้อย่างไร

8
วิธีตรวจสอบวันที่ของการเปลี่ยนแปลงครั้งล่าสุดในขั้นตอนหรือฟังก์ชันที่เก็บไว้ในเซิร์ฟเวอร์ SQL
ฉันต้องตรวจสอบเมื่อมีการเปลี่ยนฟังก์ชั่นครั้งที่แล้ว ฉันรู้วิธีตรวจสอบวันที่สร้าง (อยู่ในหน้าต่างคุณสมบัติของฟังก์ชันใน SQL Server Management Studio) ฉันพบว่าใน SQL Server 2000 เป็นไปไม่ได้ที่จะตรวจสอบวันที่แก้ไข (ดูที่โพสต์นี้: เป็นไปได้หรือไม่ที่จะกำหนดว่าเมื่อใดที่กระบวนงานที่เก็บไว้ถูกแก้ไขครั้งล่าสุดใน SQL Server 2000 ) เป็นไปได้หรือไม่ที่จะตรวจสอบใน SQL Server 2008 MS เพิ่มคุณสมบัติใหม่บางอย่างในตารางระบบที่อนุญาตให้ตรวจสอบหรือไม่

5
เป็นประเภทที่ไม่ถูกต้องสำหรับใช้เป็นคอลัมน์สำคัญในดัชนี
ฉันมีข้อผิดพลาดที่ Column 'key' in table 'misc_info' is of a type that is invalid for use as a key column in an index. โดยที่ key คือ nvarchar (สูงสุด) ของ Google อย่างรวดเร็วพบนี้ อย่างไรก็ตามมันไม่ได้อธิบายว่าทางออกคืออะไร ฉันจะสร้างบางสิ่งเช่นพจนานุกรมโดยที่คีย์และค่าเป็นทั้งสตริงและเห็นได้ชัดว่าคีย์ต้องไม่ซ้ำกันและเป็นแบบเดี่ยว คำสั่ง SQL ของฉันคือ create table [misc_info] ( [id] INTEGER PRIMARY KEY IDENTITY NOT NULL, [key] nvarchar(max) UNIQUE NOT …

17
เหตุใด Intellisense Studio จัดการของ SQL Server 2008 จึงไม่ทำงาน
ฉันถูกผลักดันไปสู่ความวิกลจริตที่พยายามคิดออกว่าเหตุใด Intellisense จึงไม่ทำงานเลย เซิร์ฟเวอร์ที่ฉันใช้นั้นเป็นแบบโลคัลและเป็นปี 2008 ฐานข้อมูลถูกตั้งค่าเป็นความเข้ากันได้ในปี 2008 Intellisense เปิดอยู่ในทุกเมนูที่ฉันสามารถค้นหาได้ แต่ยังไม่มีรายชื่อสมาชิกใด ๆ มีใครประสบกับสิ่งนี้และพบวิธีแก้ไขหรือไม่ ฉันไม่สามารถพาตัวเองไปทำงานเริ่มได้เว้นแต่ฉันจะทำงาน Intellisense

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