คำถามติดแท็ก sqlcmd

2
วิธีทำให้ sqlcmd ส่งคืน ERRORLEVEL นอกเหนือจาก 0 เมื่อสคริปต์. sql ล้มเหลว
ฉันกำลังเรียกใช้ sqlcmd จากแบตช์ไฟล์และฉันสงสัยว่าจะทำให้ ERRORLEVEL คืนเป็นค่าอื่นนอกเหนือจาก 0 ได้อย่างไรเมื่อมีบางอย่างผิดพลาดในการสำรองข้อมูล

3
คำสั่ง SQLCMD ไม่สามารถแทรกเครื่องหมายเน้นเสียงได้
ฉันพยายามเรียกใช้sqlcmd.exeเพื่อตั้งค่าฐานข้อมูลใหม่จากบรรทัดคำสั่ง ฉันใช้ SQL SERVER Express 2012 บน Windows 7 64 บิต นี่คือคำสั่งที่ฉันใช้: SQLCMD -S .\MSSQLSERVER08 -V 17 -E -i %~dp0\aqualogyDB.sql -o %~dp0\databaseCreationLog.log และนี่คือสคริปต์สร้างไฟล์ sql: CREATE DATABASE aqualogy COLLATE Modern_Spanish_CI_AS WITH TRUSTWORTHY ON, DB_CHAINING ON; GO use aqualogy GO CREATE TABLE [dbo].[BaseLayers] ( [Code] nchar(100) NOT NULL , [Geometry] nvarchar(MAX) NOT …


1
ข้อความค้นหาที่ผู้ใช้แบ่งปัน: ไดนามิก SQL กับ SQLCMD
ฉันต้องรีแฟคเตอร์และจัดทำเอกสารfoo.sqlแบบสอบถามจำนวนหนึ่งซึ่งจะใช้ร่วมกันโดยทีมสนับสนุนด้านเทคนิคของ DB (สำหรับการกำหนดค่าลูกค้าและสิ่งต่างๆเช่นนั้น) มีตั๋วหลายประเภทที่มาเป็นประจำที่ลูกค้าแต่ละรายมีเซิร์ฟเวอร์และฐานข้อมูลของตัวเอง แต่ไม่เช่นนั้นสคีมาจะเหมือนกันทั่วกระดาน กระบวนงานที่เก็บไว้ไม่ใช่ตัวเลือกในเวลาปัจจุบัน ฉันกำลังถกเถียงกันว่าจะใช้ไดนามิกหรือ SQLCMD ฉันไม่ได้ใช้อะไรมากมายเพราะฉันค่อนข้างใหม่ที่ SQL Server การสคริปต์ SQLCMD ฉันรู้สึกว่า "ดู" สะอาดกว่าสำหรับฉันและง่ายต่อการอ่านและเปลี่ยนแปลงการสืบค้นเล็กน้อยตามต้องการ แต่ยังบังคับให้ผู้ใช้เปิดใช้งานโหมด SQLCMD แบบไดนามิกนั้นยากกว่าเนื่องจากการเน้นไวยากรณ์เสียไปเนื่องจากการสืบค้นที่เขียนโดยใช้การจัดการสตริง สิ่งเหล่านี้กำลังถูกแก้ไขและรันโดยใช้ Management Studio 2012, SQL เวอร์ชัน 2008R2 อะไรคือข้อดี / ข้อเสียของวิธีใดวิธีหนึ่งหรือ SQL Server "วิธีปฏิบัติที่ดีที่สุด" บางวิธีในวิธีหนึ่งหรือวิธีอื่น เป็นหนึ่งในนั้น "ปลอดภัย" กว่าอีกหรือไม่ ตัวอย่างแบบไดนามิก: declare @ServerName varchar(50) = 'REDACTED'; declare @DatabaseName varchar(50) = 'REDACTED'; declare @OrderIdsSeparatedByCommas varchar(max) …

1
การตั้งค่าตัวแปรในโหมด SQLCMD
ใช้ SQL Server 2008 R2 Enterprise Edition พิจารณาข้อความต่อไปนี้: :setvar source_server_name "SERVERNAME\INSTANCENAME" เป็นไปได้ในโหมด SQLCMD เพื่อรับค่านั้นโดยใช้ TSQL สิ่งที่ต้องการ: :setvar source_server_name = SELECT @@servername ขอขอบคุณ อัพเดทเมื่อ 7/15/2013 คำตอบสองข้อเสนอด้านล่างไม่ได้ให้ผลลัพธ์ที่ต้องการดังนั้นฉันจึงเพิ่มตัวอย่างที่เกี่ยวข้อง :setvar source_server_name [myserver] ตัวแปร source_server_name ถูกตั้งค่าเป็นสตริงข้อความ [myserver_1] ฉันต้องการทำสิ่งนี้: create table #tmp( id int identity(1,1), server sysname ) insert into #tmp values('myserver_1'),('myserver_2'); :setvar source_server_name = SELECT …

6
มีใครใช้โหมด sqlcmd ในทางปฏิบัติหรือไม่ [ปิด]
ตามที่เป็นอยู่ในปัจจุบันคำถามนี้ไม่เหมาะสำหรับรูปแบบคำถาม & คำตอบของเรา เราคาดหวังว่าคำตอบจะได้รับการสนับสนุนจากข้อเท็จจริงการอ้างอิงหรือความเชี่ยวชาญ แต่คำถามนี้อาจเรียกร้องให้มีการอภิปรายโต้แย้งโต้แย้งหรือการอภิปรายเพิ่มเติม หากคุณรู้สึกว่าคำถามนี้สามารถปรับปรุงและเปิดใหม่ได้โปรดไปที่ศูนย์ช่วยเหลือเพื่อขอคำแนะนำ ปิดให้บริการใน7 ปีที่ผ่านมา SQLServer 2005 สิ่งที่เรียกว่าแนะนำ SQLCMD โหมด การเชื่อมโยง MSDN เมื่อมองแวบแรกโหมดนี้จะเพิ่มการชดเชยตัวแปรจากไฟล์แบตช์บรรทัดคำสั่งและบางคำสั่งที่หลบหนีไปยังคำสั่ง OS คุณสมบัตินี้ใช้ในสภาพแวดล้อมการผลิตหรือการทดสอบของคุณหรือไม่?

3
ฉันจะให้ SSMS ใช้เส้นทางสัมพัทธ์ของสคริปต์ปัจจุบันด้วย: r ในโหมด sqlcmd เหมือนกับ SSDT ได้อย่างไร
ถ้าผมมี foo.sql และ bar.sql ในโฟลเดอร์เดียวกัน foo.sql สามารถอ้างอิง bar.sql เมื่อเรียกใช้จาก SSDT ในโหมด sqlcmd :r ".\bar.sql"กับ อย่างไรก็ตาม SSMS จะไม่พบ Procmon แสดงให้เห็นว่า SSMS กำลังมองหาใน%systemroot%\syswow64: ฉันจะบอก SSMS ให้ดูในโฟลเดอร์ที่บันทึกสคริปต์ปัจจุบันไว้โดยไม่ต้องแจ้งเส้นทางอย่างชัดเจนได้อย่างไร
11 sql-server  ssms  sqlcmd  ssdt 

1
เชื่อมต่อกับ LocalDB ผ่าน SQLCMD ใน PowerShell
ฉันพยายามเข้าถึงเซิร์ฟเวอร์ "localdb \ MSSQLLocalDB" บนคอมพิวเตอร์ของฉันผ่าน PowerShell ด้วยยูทิลิตี้ SQLCMD ฉันใช้ PowerShell v5, .NET v5.0 และชื่อเซิร์ฟเวอร์คือ(localdb)\MSSQLLocalDBเมื่อฉันเชื่อมต่อกับมันใน Microsoft SQL Server Management Studio 2014 PS C:\> sqlcmd -S localdb\MSSQLLocalDBและPS C:\> sqlcmd -S .\localdb\MSSQLLocalDBทำให้เกิดข้อผิดพลาดนี้: Sqlcmd: ข้อผิดพลาด: Microsoft ODBC Driver 11 สำหรับ SQL Server: อินเทอร์เฟซเครือข่ายเซิร์ฟเวอร์ SQL: ข้อผิดพลาดการค้นหาเซิร์ฟเวอร์ / อินสแตนซ์ที่ระบุ [xFFFFFFFF] ฉันสอบถามชื่อเซิร์ฟเวอร์ใน Management Studio ด้วยSELECT @@ServerNameและใช้หลังจากนั้น-Sในคำสั่งด้านบนและได้รับข้อผิดพลาดเดียวกัน PS …

1
การเรียกใช้งานสคริปต์ TSQL ที่สร้างจาก SSMS ใน SQLCMD ล้มเหลวในการพูด
ฉันกำลังพยายามปรับใช้ฐานข้อมูลกับเครื่องโดยการเรียกใช้งานสคริปต์ที่สร้างขึ้นโดยเครื่องมือ "สร้างสคริปต์" ใน SQL Server Management Studio นี่คือคำสั่งที่ฉันออก: sqlcmd -S LOCALHOST\sqlexpress -I -U user -P ******** -i C:\Rollouts\NI-9-25-2012_10-42-AM\Rollout.sql > rolloutlog.txt ฉันได้รับข้อผิดพลาดเช่นนี้: Sqlcmd: ข้อผิดพลาด: ข้อผิดพลาดทางไวยากรณ์ที่บรรทัด 39488 ใกล้กับคำสั่ง '' 'ในไฟล์' C: \ Rollouts \ NI-9-25-2012_10-42-AM \ Rollout.sql ' เมื่อฉันดูบรรทัดนี้ด้วยโปรแกรมแก้ไขข้อความสัญญาณทั้งหมดชี้ไปที่ปัญหาด้วยเครื่องหมายคำพูด บรรทัดคำถามมีลักษณะดังนี้: $ ( '' แมวเมนูใหม่. '') slideDown ( '' ช้า ''). มีสวิตช์ที่ฉันควรเรียกใช้งานหรือสร้างสคริปต์ด้วยเพื่อสนับสนุนเครื่องหมายคำพูดภายในสคริปต์หรือไม่
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.