Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

टी-एसक्यूएल का उपयोग करके कई डेटाबेस संलग्न करें

SQLCMD मोड का उपयोग करके, आप इसे आसानी से स्क्रिप्ट कर सकते हैं:

:setvar dbname YourDatabaseName
:setvar dbfile N'E:\DATA\YourDatabase.mdf'
:setvar logfile N'E:\TLOG\YourDatabase_log.ldf'
USE [master]
GO

CREATE DATABASE $(dbname) ON 
( FILENAME = $(dbfile) ),
( FILENAME = $(logfile) )
FOR ATTACH
GO

यह या तो sqlcmd.exe से काम करता है कमांड लाइन से (आप वेरिएबल dbname, dbfile, logfile के लिए मानों की आपूर्ति भी कर सकते हैं। कमांड लाइन से भी), या यह SQL सर्वर प्रबंधन स्टूडियो में काम करता है यदि आपने डिफ़ॉल्ट रूप से Tools > Options > Query Execution > by default, open new queries in SQLCMD mode

SQLCMD उपयोगिता और इसके सभी मापदंडों के बारे में और पढ़ें एमएसडीएन पर।

पुनश्च:बेशक, SQLCMD सक्षम स्क्रिप्ट के साथ यह दृष्टिकोण BACKUP/RESTORE चक्रों के लिए भी काम करता है :-) (जैसा कि हारून द्वारा अनुशंसित है)

पीपीएस:यदि आपके पास एक अच्छा नामकरण परंपरा है, और डेटा फ़ाइल हमेशा $(dbname).mdf होती है और लॉग फ़ाइल हमेशा $(dbname)_log.ldf . होती है , आप इस संक्षिप्त SQLCMD स्क्रिप्ट का भी उपयोग कर सकते हैं:

:setvar dbname YourDatabaseName
USE [master]
GO

CREATE DATABASE $(dbname) ON 
( FILENAME = N'E:\DATA\$(dbfile).mdf' ),
( FILENAME = N'E:\TLOG\$(logfile)_log.ldf' )
FOR ATTACH
GO

और उसके बाद बस इसे कमांड लाइन से कॉल करें:

C:\>  sqlcmd.exe -S yourserver -E -i attach.sql -v dbname=YourDb1

और इसी तरह, प्रत्येक डेटाबेस के लिए एक बार आपको फिर से संलग्न करना होगा।

PPPS:यदि आप बैकअप को पुनर्स्थापित करना चाहते हैं, तो यह थोड़ा अधिक जटिल है:

:setvar dbname YourDatabaseName
USE [master]
GO

RESTORE DATABASE $(dbname)
FROM DISK = N'E:\Backup\$(dbname).bak' 
WITH FILE = 1,  
MOVE N'$(dbname)' TO N'E:\DATA\$(dbname).mdf',  
MOVE N'$(dbname)_Log' TO N'E:\TLOG\$(dbname)_Log.ldf',  
NOUNLOAD, REPLACE
GO

यह तब तक काम करता है, जब तक आप अपने .bak . को नाम देते हैं फ़ाइलें आपके डेटाबेस नाम के समान हैं, और आप उन्हें एक निश्चित स्थान पर रखते हैं (मुझे लगता है कि E:\Backup यहां - आवश्यकतानुसार अनुकूलित करें)।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर में एक वृद्धिशील GUID बनाने के लिए NEWSEQUENTIALID() का उपयोग करें

  2. तालिका चर में कैसे शामिल हों?

  3. SQL सर्वर:नवीनतम पंक्तियों का चयन करें जिनका योग किसी मान से मेल खाता है

  4. 2 टेबल से डेटा मर्ज करना

  5. DATEDIFF के लिए एक समाधान () SQL सर्वर में SET DATEFIRST को अनदेखा करना (T-SQL उदाहरण)