Scenario:
U werkt als SQL Server-ontwikkelaar, u moet enkele update- of verwijderscripts verstrekken om gegevens uit een tabel bij te werken of te verwijderen. U wilt een back-up van die records maken of als de tabel klein is, wilt u misschien een back-up van de hele tabel maken voordat u voer update- of delete-instructies uit.Hoe zou u een back-up maken van de hele tabel of alleen de records waarop u update- of delete-instructies moet uitvoeren?
Oplossing:
SQL Server biedt geen back-up op tabelniveau. Als we zeggen dat we de back-up van de tabel willen maken, hebben we het over het maken van een kopie van een bestaande tabel met records.Stel dat we een dbo.Klanttabel hebben met weinig records en we willen een back-uptabel maken dbo.Customber_Bkp_TodayDate, we kunnen onderstaand script gebruiken
Maak eerst een dbo.Customer-tabel met voorbeeldrecords
USE yourDatabaseName Go Create Table dbo.Customer( Id int identity(1,1), FName VARCHAR(50), LName VARCHAR(50), Age int, DOB Date, Salary Numeric(6,2)) --Use the Insert Into with Values single Statement Insert into dbo.Customer Values('Aamir','Shahzad',36,'1980-01-01',5000.50), ('Raza','M',33,'1983-03-03',4900.34), ('John','Smith',26,'1990-04-05',5000.50)
Laten we nu een dbo.Customber_Bkp_TodayDate back-uptabel maken met alle records die aanwezig zijn in dbo.Customer.
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer
Om een nieuwe tabel met records te maken, moet u Into NewTable van OldTable gebruiken, zoals hierboven weergegeven.
Als we alleen geïnteresseerd zijn om records te kopiëren waar FName='Aamir' onze zoekopdracht zal zijn hieronder.
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
Voer bovenstaande scripts uit en controleer de tabellen indien gemaakt met de vereiste records.
Een back-up maken van records naar een nieuwe tabel vanuit een bestaande SQL Server-tabel in SQL Server |
Scripts gebruikt in de videodemo:
--Take the backup or create table for all records Select * into [YourDBName].dbo.Customer_20160510 from [dbo].[Customer] --Create table for selected records Select * into [YourDBName].dbo.Customer_20160510_TwoRecords from [dbo].[Customer] where id<=2 --Check if table is created successfully Select * From [YourDBName].dbo.Customer_20160510_TwoRecords Select * from [dbo].[Customer] --Update Records in current table update [dbo].[Customer] set LName=LName+' Test' where id<=2 --Update records in current table from backup table update d set d.LName=s.LName from [YourDBName].dbo.Customer_20160510_TwoRecords s inner join [dbo].[Customer] d on s.id=d.id
Videodemo:snel een nieuwe tabel maken van een bestaande tabel met gegevens in SQL Server