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

डेटाबेस कॉपी करने का सबसे अच्छा तरीका (एसक्यूएल सर्वर 2008)

सबसे आसान तरीका वास्तव में एक स्क्रिप्ट है।

इसे उत्पादन पर चलाएँ:

USE MASTER;

BACKUP DATABASE [MyDatabase]
TO DISK = 'C:\temp\MyDatabase1.bak' -- some writeable folder. 
WITH COPY_ONLY

यह एक कमांड उत्पादन उपलब्धता या बैकअप शेड्यूल आदि में हस्तक्षेप किए बिना, एक फ़ाइल पर डेटाबेस की पूरी बैकअप प्रतिलिपि बनाता है।

पुनर्स्थापित करने के लिए, बस इसे अपने देव पर चलाएं या SQL सर्वर का परीक्षण करें:

USE MASTER;

RESTORE DATABASE [MyDatabase]
FROM DISK = 'C:\temp\MyDatabase1.bak'
WITH
MOVE 'MyDatabase'   TO 'C:\Sql\MyDatabase.mdf', -- or wherever these live on target
MOVE 'MyDatabase_log'   TO 'C:\Sql\MyDatabase_log.ldf',
REPLACE, RECOVERY

फिर इन लिपियों को प्रत्येक सर्वर पर सहेजें। एक-क्लिक की सुविधा।

संपादित करें:
यदि आपको पुनर्स्थापित करते समय त्रुटि मिलती है कि तार्किक नाम मेल नहीं खाते हैं, तो आप उन्हें इस तरह प्राप्त कर सकते हैं:

RESTORE FILELISTONLY
FROM disk = 'C:\temp\MyDatabaseName1.bak'

यदि आप SQL सर्वर लॉगिन (विंडोज़ प्रमाणीकरण नहीं) का उपयोग करते हैं, तो आप इसे हर बार (देव/परीक्षण मशीन पर) पुनर्स्थापित करने के बाद चला सकते हैं:

use MyDatabaseName;
sp_change_users_login 'Auto_Fix', 'userloginname', null, 'userpassword';


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. डेटाबेस में सभी संग्रहीत प्रक्रियाओं पर उपयोगकर्ता के लिए अनुमति निष्पादित करें?

  2. C#.NET अनुप्रयोग में SQL सर्वर समय डेटाटाइप का उपयोग करें?

  3. SQL सर्वर में स्थानीय और वैश्विक अस्थायी तालिकाएँ

  4. SQL सर्वर लूप - मैं रिकॉर्ड के एक सेट के माध्यम से कैसे लूप करूं

  5. मैं एक SQL सर्वर लोकलडीबी डेटाबेस को एक मशीन से दूसरी मशीन में कैसे स्थानांतरित कर सकता हूं?