est-il possible d'entrer une commande de ligne de commande (comme dans un fichier de commandes) pour joindre une base de données détachée à SQL Server, au lieu d'ouvrir le studio de gestion et de le faire là-bas? P>
3 Réponses :
Vous devez utiliser: utilitaire SQLCMD P>
L'utilitaire SQLCMD vous permet de saisir Déclarations de transaction-SQL, système procédures et fichiers de script au Invite de commande, dans l'éditeur de requête dans Mode SQLCMD, dans un fichier de script Windows ou dans un système d'exploitation (cmd.exe) Étape de travail d'un travail d'agent SQL Server. Cet utilitaire utilise OLE DB pour exécuter Lots transact-sql. P> blockQuote>
Ensuite, utilisez Créer une base de données (transact-sql) pour faire le Joindre et sp_detach_db (transact-sql) pour faire le détachement. sp_attach_db (transact-sql) va être supprimé dans un avenir version de Microsoft SQL Server. P>
Très agréable. Travaillé comme un charme. Devrait activer les «tuyaux nommés» d'exécuter SQLCMD, ne savez pas pourquoi, mais à part cela: Chapeau!
J'ai un fichier de commandes avec ce contenu: sqlcmd -usa -password -i "n: \ sqlserver \ jointexample_database.sql" code> et le contenu du fichier jointexample_database.sql est
créer de l'exemple de base de données_database sur ( Nom de fichier = 'C: \ Fichiers de programme \ Microsoft SQL Server \ msql10_50.msqlServer \ mssql \ data \ Exemple_database.md f') pour la fixation; Aller aller code>
et pour détacher, j'ai ce fichier de lot sqlcmd -usa -password -i "n: \ sqlserver \ détachexample.database.sql" et le contenu du détachexample_database.sql est code> SP_DETACH_DB Exemple_database; "Go
Si vous devez spécifier le nom du fichier journal: Utiliser maître; ALLER; Créer une base de données dbname sur (nom_fichier = 'c: \ dbfile.mdf') Connexion (nom_fichier = 'c: \ dblogfile_log.ldf') pour la fixation; Aller; code> et pour détacher:
utilise maître; ALLER; EXEC SP_DETACH_DB 'DBNAME', 'TRUE'; Aller; code> p>
Petit gotcha, il ne vous dira pas ce qui ne va pas lorsque vous utilisez SQLCMD et vos fichiers MDF / LDF sont marqués en lecture seule. Assurez-vous qu'ils sont en lecture-écriture. P>
Pouvez-vous expliquer avec un exemple