Szenario:
Sie arbeiten als SQL Server-Entwickler und müssen einige Aktualisierungs- oder Löschskripts bereitstellen, um Daten aus einer Tabelle zu aktualisieren oder zu löschen. Sie möchten eine Sicherungskopie dieser Datensätze erstellen, oder wenn die Tabelle klein ist, möchten Sie möglicherweise die gesamte Tabelle vor Ihnen sichern Ausführen von Aktualisierungs- oder Löschanweisungen.Wie würden Sie die gesamte Tabelle sichern oder nur die Datensätze, für die Sie Aktualisierungs- oder Löschanweisungen ausführen müssen?
Lösung:
SQL Server bietet keine Sicherung auf Tabellenebene. Wenn wir sagen, dass wir eine Sicherungskopie der Tabelle erstellen möchten, sprechen wir davon, eine Kopie einer vorhandenen Tabelle mit Datensätzen zu erstellen.Nehmen wir an, wir haben eine dbo.Customer-Tabelle mit wenigen Datensätzen und möchten eine Sicherungstabelle erstellen dbo.Customber_Bkp_TodayDate, wir können das folgende Skript verwenden
Erstellen Sie zuerst die dbo.Customer-Tabelle mit Beispieldatensätzen
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)
Lassen Sie uns nun die Sicherungstabelle dbo.Customber_Bkp_TodayDate mit allen Datensätzen erstellen, die in dbo.Customer vorhanden sind.
Select * into dbo.Customber_Bkp_20160507 from dbo.Customer
Um eine neue Tabelle mit Datensätzen zu erstellen, müssen Sie Into NewTable from OldTable verwenden, wie oben gezeigt.
Wenn wir nur daran interessiert sind, Datensätze mit FName='Aamir' zu kopieren, wird unsere Abfrage so aussehen unten.
Select * into dbo.Customber_Bkp_20160507_OnlyAamir from dbo.Customer where FName='Aamir'
Führen Sie obige Skripte aus und prüfen Sie, ob die Tabellen mit den erforderlichen Datensätzen erstellt wurden.
So sichern Sie Datensätze in einer neuen Tabelle aus einer vorhandenen SQL Server-Tabelle in SQL Server |
In der Videodemo verwendete Skripte:
--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
Video-Demo:So erstellen Sie schnell eine neue Tabelle aus einer vorhandenen Tabelle mit Daten in SQL Server