2012-05-04 36 views
0

如何從實時SQL Server數據庫複製大量表格以及它們包含的數據?如何複製表格和數據以用於測試目的

我想爲我的機器上的基本測試獲取一些數據。

我原本打算做一個簡單的數據庫備份,直到我注意到它的大小超過了100GB。然而,我所追求的桌子只是一些小桌子。然後,我嘗試導出到Excel,但卻打在了65K限制(我們沒有Excel 2007)

回答

1

您可以通過使用SQL Server導入和導出嚮導
Here is MSDN video

嘗試導出數據你可以將其導出爲平面文件

在Management Studio中,選擇數據庫,右鍵單擊並選擇任務 - >導出數據。在那裏您將看到可導出到不同種格式的選項,包括CSV

您也可以從查詢窗口運行查詢並將結果保存爲CSV。

+0

謝謝你的指針,但視頻是導出到Excel,但至少在Excel 2003中,我們有,它僅限於65K記錄 – SteveC

+0

讓我去那......解決方案,我用用的是去導出數據並將Destination設置爲本地SQL Express實例中的新數據庫 – SteveC

1

您不能使用從您的實時服務器到您的測試機器的導出數據嚮導?或使用bcp?甚至使用簡單的PowerShell腳本?

$Server = "MyServer" 
$ServerInstance = "$Server\MyInstance" 
$database = "MyDatabase" 
$BackupFile = "c:\MyBackupFile.sql" 

$tables = @('TableBlah','TableBluh','TableBloh') 

$server = New-Object (
    'Microsoft.SqlServer.Management.Smo.Server') $ServerInstance 
$scripter = New-Object ('Microsoft.SqlServer.Management.Smo.Scripter') $server 

$scripter.Options.SchemaQualify = $false 
$scripter.Options.ScriptSchema = $false 
$scripter.Options.ScriptData = $true 
$scripter.Options.NoCommandTerminator = $true 
$scripter.Options.ToFileOnly = $true 
$scripter.Options.FileName = $BackupFile 
$ServerUrn=$server.Urn 

$UrnsToScript = New-Object Microsoft.SqlServer.Management.Smo.UrnCollection 

foreach ($t in $tables) 
{ 
    # Could use bcp here for dumping big tables (like archives) 
    # $ret = (bcp.exe "$database..$t" out `"$ConfigBackupDir\$t.bcp`" 
    # -S $ServerInstance -U sa -P $SAPWD -n) 

    $Urn = "$ServerUrn/Database[@Name='" + 
    $database + "']/Table[@Name='" + $t + "' and @Schema='dbo']" 
    $UrnsToScript.Add($Urn) 
} 

$scripter.EnumScript($UrnsToScript)  
+0

對不起,SQL導出非常新,所以不知道有什麼可用的,不必介意有什麼更好的選擇...我的導出到Excel的實驗不是很好成功的。感謝指針 – SteveC

相關問題