Scenario:
Du arbetar som SQL Server-utvecklare, du måste tillhandahålla några uppdateringar eller ta bort skript för att uppdatera eller radera data från en tabell. Du vill ta säkerhetskopian av dessa poster eller om tabellen är liten kanske du vill säkerhetskopiera hela tabellen innan du kör uppdatering eller ta bort satser.Hur skulle du säkerhetskopiera hela tabellen eller bara de poster som du behöver köra uppdatering eller radera satser på?
Lösning:
SQL Server tillhandahåller inte backup på tabellnivå. När vi säger att vi vill ta backupen av tabellen pratar vi om att göra en kopia av befintlig tabell med poster.Låt oss säga om vi har dbo.Customer Table med få poster och vi vill skapa backuptabell dbo.Customber_Bkp_TodayDate, vi kan använda nedanstående skript
Skapa först dbo.Customer-tabell med exempelposter
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)
Låt oss nu skapa backuptabellen för dbo.Customber_Bkp_TodayDate med alla poster som finns i dbo.Customer.
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer
För att skapa en ny tabell med poster måste du använda Into NewTable från OldTable som visas ovan.
Om vi bara är intresserade av att kopiera poster där FName='Aamir' kommer vår fråga att se ut som nedan.
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
Kör ovanstående skript och kontrollera tabellerna om de har skapats med nödvändiga poster.
Hur man säkerhetskopierar poster till ny tabell från befintlig SQL Server-tabell i SQL Server |
Skript som används i videodemon:
--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 :Hur man snabbt skapar en ny tabell från befintlig tabell med data i SQL Server