我在理解WITH FORMAT
SQL Server BACKUP DATABASE
命令选项的目的时遇到了一些麻烦.
使用MSDN示例:
USE AdventureWorks2012;
GO
BACKUP DATABASE AdventureWorks2012
TO DISK = 'Z:\SQLServerBackups\AdventureWorks2012.Bak'
WITH FORMAT,
MEDIANAME = 'Z_SQLServerBackups',
NAME = 'Full Backup of AdventureWorks2012';
GO
Run Code Online (Sandbox Code Playgroud)
据我所知,这会删除所有现有备份并创建一个新备份.
如果我要省略该WITH FORMAT
行,并且我已经有备份Z:\SQLServerBackups\AdventureWorks2012.Bak
,这对我的备份意味着什么?
它是增量的还是用完整的覆盖?
您好我想基于其主键查询表.
我试过了两个
var deviceDetails = (from d in db.Devices
where d.DeviceId == pointDetails.DeviceId
select d).ToList();
Run Code Online (Sandbox Code Playgroud)
编辑d.DeviceId
var deviceDetails = db.Devices.Single(d => d.DeviceId == pointDetails.DeviceId)
Run Code Online (Sandbox Code Playgroud)
我知道这些会返回不同的类型,但现在这不是问题.
这个语句抛出一个invalidCastException,我不知道为什么.PointDetails.DeviceId绝对是一个有效的int.即使我用硬编码的int替换它,也会引发异常.
这是堆栈跟踪的相关部分.
at System.Data.SqlClient.SqlBuffer.get_Int32()
at System.Data.SqlClient.SqlDataReader.GetInt32(Int32 i)
at Read_Device(ObjectMaterializer`1 )
at System.Data.Linq.SqlClient.ObjectReaderCompiler.ObjectReader`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
Run Code Online (Sandbox Code Playgroud)
任何帮助都是因为我没有想法.
类定义和模式 这是Device的类定义
[global::System.Data.Linq.Mapping.TableAttribute(Name="dbo.Devices")]
public partial class Device : INotifyPropertyChanging, INotifyPropertyChanged
{
private static PropertyChangingEventArgs emptyChangingEventArgs = new PropertyChangingEventArgs(String.Empty);
private int _DeviceId;
private int _DeviceTypeId;
private string _DeviceName;
private string _DeviceMACAddress;
private string _DeviceIPAddress;
private string _DeviceSubnetMask; …
Run Code Online (Sandbox Code Playgroud) 我有一个用于创建表的SQL脚本,我希望除了几列之外的所有列的默认值为""其他列需要一个整数默认值为0
以下创建表.删除了一些列,因为有很多列
CREATE TABLE [dbo].[PMIPatients]
(
[PID] [varchar](30) NOT NULL,
[PatientFirstName] [varchar](30) NULL,
[PatientLastName] [varchar](30) NULL,
[PatientDOB] [varchar](30) NULL,
[PatientDoctor] [varchar](30) NULL,
[PatientDiet] [varchar](50) NULL,
[PatientFallRiskLevel] [int] NULL,
[BedId] [int] NULL,
[BedDisplayInfo] TEXT NOT NULL DEFAULT ''
CONSTRAINT [PK_HL7Patient] PRIMARY KEY CLUSTERED
([PID] ASC) WITH (PAD_INDEX = OFF,
STATISTICS_NORECOMPUTE = OFF,
IGNORE_DUP_KEY = OFF,
ALLOW_ROW_LOCKS = ON,
ALLOW_PAGE_LOCKS = ON)
ON [PRIMARY]
)
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
我希望在所选列上设置不同的默认值,以下代码不起作用,因为它表示已经存在默认约束集.所以我认为我必须首先放弃约束.
ALTER TABLE [dbo].[PMIPatients] ADD
DEFAULT ((0))
FOR [PatientFallRiskLevel]
Run Code Online (Sandbox Code Playgroud)
http://www.w3schools.com/sql/sql_default.asp说以下代码应该能够删除这样的DEFAULT
ALTER TABLE …
Run Code Online (Sandbox Code Playgroud)