2017-06-21 2 views
0

Pour déplacer une base de données SQL Server de 144 Go vers Azure SQL, je souhaite l'exporter au format .bacpac.Empêcher SqlPackage d'écrire sur la partition principale pendant l'exportation

Pour ce faire, je l'utilise package SQL de SQL version 130:

C:\Program Files (x86)\Microsoft SQL Server\130\DAC\bin>SqlPackage.exe /Action:Export /ssn:MY_MSSQL_INSTANCE /sdn:MY_DATABASE /tf:d:\export.bacpac /p:Storage=file 

Cependant, cela ne fonctionne pas parce que ma partition principale (C :, avec 39FR libre) à court d'espace disque pendant l'opération. Comme vous pouvez le voir dans la commande, j'essaie d'exporter vers D :. Il semble que le script d'export fasse quelque chose de temporaire sur C :.

Comment puis-je empêcher cela? (Je l'ai déjà vérifié le chemin Temp par défaut SQL Server, il est aussi le D :)

Répondre

0

Je l'ai essayé à nouveau sur une machine virtuelle ayant 300 Go et même 600 Go d'espace disque libre, il ne fonctionne toujours pas. Je vais maintenant essayer d'autres méthodes: Microsoft Data Migration Assistant, ou transférer le schéma en premier, puis utiliser l'Assistant Importation SQL Server pour déplacer les données.

1

SqlPackage.exe utilise trois emplacements sur le disque: le chemin de sortie sélectionné, le dossier temp, et le isolated storage folder.

Par défaut, le dossier temporaire et le dossier de stockage isolé se trouvent sur le lecteur principal. Je crois que vous pouvez changer d'emplacement du dossier temporaire en changeant la variable d'environnement puis (dans la même ligne de commande) en cours d'exécution SqlPackage.exe, comme ceci:

set TMP=d:\temp 
SqlPackage.exe /a:export ... 

Cela peut ne pas être suffisant, bien que, en raison de l'utilisation de Stockage isolé.