根据Server 2016的说法,docs压缩和解压缩方法只是一个黑匣子--您可以将数据放入其中,然后将其压缩或解压缩。问题是,我需要找到一种方法,说明如何在Server之外解压缩这些数据--最好使用雪花或Azure data。有人想知道如何处理这个话题吗?这特别困难,因为缺乏关于所使用的压缩方法/算法的详细文档。
发布于 2020-10-29 13:18:52
根据Server 2016的说法,压缩和解压缩方法只是一个黑匣子
我不知道您指的是什么文档页,但是压缩参考声明:
该函数使用GZIP算法压缩输入表达式。函数返回一个变量类型的字节数组(Max)。
然后,可以在应用程序代码中使用GZip库进行解压缩。PowerShell示例,使用.NET对象:
$connection = New-Object System.Data.SqlClient.SqlConnection("Data Source=.;Integrated Security=SSPI;Initial Catalog=tempdb")
$connection.Open()
$command = New-Object System.Data.SqlClient.SqlCommand("SELECT COMPRESS('this is gzip compressed data') AS GzipData;", $connection)
$gzipBytes = $command.ExecuteScalar()
$connection.Close()
$memoryStream = New-Object IO.MemoryStream
$memoryStream.Write($gzipBytes, 0, $gzipBytes.Length)
[void]$memoryStream.Seek(0,0)
$gzipStream = New-Object IO.Compression.GZipStream($memoryStream, [IO.Compression.CompressionMode]::Decompress)
$streamReader = New-Object IO.StreamReader($gzipStream)
$decompressedData = $streamReader.ReadToEnd()
Write-Host $decompressedDatahttps://dba.stackexchange.com/questions/278868
复制相似问题