Scenarie:
Du arbejder som SQL Server-udvikler, du skal levere nogle opdateringer eller slette scripts for at opdatere eller slette data fra en tabel. Du vil tage backup af disse poster, eller hvis tabellen er lille, vil du måske tage backup af hele tabellen, før du køre opdatering eller slet sætninger.Hvordan vil du sikkerhedskopiere hele tabellen eller kun de poster, som du skal køre opdatering eller slette sætninger på?
Løsning:
SQL Server leverer ikke backup på tabelniveau. Når vi siger, at vi vil tage backup af tabellen, taler vi om at lave en kopi af eksisterende tabel med poster.Lad os sige, om vi har dbo.Customer Table med få poster, og vi vil oprette backup-tabel dbo.Customber_Bkp_TodayDate, vi kan bruge nedenstående script
Opret først dbo.Customer-tabel med eksempelposter
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)
Lad os nu oprette dbo.Customber_Bkp_TodayDate backup tabel med alle de poster, der er til stede i dbo.Customer.
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer
For at oprette en ny tabel med poster, skal du bruge Into NewTable fra OldTable som vist ovenfor.
Hvis vi kun er interesseret i at kopiere poster, hvor FName='Aamir' vil vores forespørgsel være som nedenfor.
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
Kør ovenstående scripts, og tjek tabellerne, hvis de er oprettet med nødvendige poster.
Sådan sikkerhedskopieres poster til ny tabel fra eksisterende SQL Server-tabel i SQL Server |
Scripts brugt i videodemoen:
--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 :Sådan opretter du en ny tabel fra eksisterende tabel med data i SQL Server hurtigt