Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Cara memasukkan ke tabel temp info yang diberikan oleh RESTORE FILELISTONLY / HEADERONLY / VERIFYONLY

Secara pribadi, ini adalah salah satu skenario di mana saya akan menghindari TSQL murni dan menggunakan skrip atau program eksternal. Bergantung pada apa yang Anda coba lakukan, Anda mungkin menemukan bahwa menggunakan Smo dari Powershell atau .NET sepenuhnya menghindari kebutuhan akan TSQL. Saya mengatakan itu karena bekerja dengan cadangan sepertinya selalu mengarah pada bekerja dengan file di luar database, dan kemudian TSQL terlalu canggung.

Setelah mengatakan semua itu, jika Anda yakin bahwa Anda harus melakukan ini di TSQL, maka Anda dapat melakukan sesuatu seperti ini:

insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec('RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak''')

Atau sedikit lebih baik:

declare @Command nvarchar(4000)
-- you can build the command string some other way, of course
set @Command = N'RESTORE FILELISTONLY FROM DISK = ''c:\Test\Test.bak'''

insert into dbo.BackupFiles (LogicalName, PhysicalName, ...)
exec sp_executesql @Command

Anda masih harus membuat tabel terlebih dahulu, yang bukan masalah besar dan masuk akal jika Anda sering melakukannya. Books Online mencantumkan tipe data untuk setiap kolom dalam kumpulan hasil, tetapi setidaknya bagi saya (SQL2008 SP1) dokumentasi tidak cocok dengan kumpulan hasil sebenarnya sehingga Anda mungkin perlu mengubahnya.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tutorial Surat Basis Data

  2. Cara Mengkonfigurasi Database Mail di SQL Server

  3. Kueri SQL tidak menggunakan indeks yang tersedia (SQL Server 2008)

  4. Pembaruan SQL permintaan baris top1

  5. Menggunakan kolom urutan pengurutan dalam tabel database