Get your server issues fixed by our experts for a price starting at just 25 USD/Hour. Click here to register and open a ticket with us now!

Author Topic: SQL Server connection strings - .NET Framework Data Provider  (Read 3712 times)

0 Members and 1 Guest are viewing this topic.

sajugovind

  • Guest
SQL Server connection strings - .NET Framework Data Provider
« on: February 08, 2014, 02:18:56 pm »
.NET Framework Data Provider for SQL Server

    Standard Security


   
Code: [Select]
Server=myServerAddress;Database=myDataBase;User Id=myUsername;
    Password=myPassword;

       
    Trusted Connection

 
Code: [Select]
   Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;       
    Connection to a SQL Server instance

    The server/instance name syntax used in the server option is the same for all SQL Server connection strings.

Code: [Select]
    Server=myServerName\myInstanceName;Database=myDataBase;User Id=myUsername;
    Password=myPassword;
       
    Trusted Connection from a CE device

    A Windows CE device is most often not authenticated and logged in to a domain but it is possible to use SSPI or trusted connection and authentication from a CE device using this connection string.

 
Code: [Select]
  Data Source=myServerAddress;Initial Catalog=myDataBase;Integrated Security=SSPI;
    User ID=myDomain\myUsername;Password=myPassword;

    Note that this will only work on a CE device.
       
    Connect via an IP address

Code: [Select]
    Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;
    Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;

    DBMSSOCN=TCP/IP is how to use TCP/IP instead of Named Pipes. At the end of the Data Source is the port to use. 1433 is the default port for SQL Server. Read more here.
       
    Enable MARS

   
Code: [Select]
Server=myServerAddress;Database=myDataBase;Trusted_Connection=True;
    MultipleActiveResultSets=true;

       
    Attach a database file on connect to a local SQL Server Express instance

   
Code: [Select]
Server=.\SQLExpress;AttachDbFilename=C:\MyFolder\MyDataFile.mdf;Database=dbname;
    Trusted_Connection=Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

       
    Attach a database file, located in the data directory, on connect to a local SQL Server Express instance

   
Code: [Select]
Server=.\SQLExpress;AttachDbFilename=|DataDirectory|mydbfile.mdf;Database=dbname;
    Trusted_Connection=Yes;

    Why is the Database parameter needed? If the named database have already been attached, SQL Server does not reattach it. It uses the attached database as the default for the connection.

    User Instance on local SQL Server Express

    The User Instance feature is deprecated with SQL Server 2012, use the SQL Server Express LocalDB feature instead.
   
    LocalDB automatic instance
Code: [Select]
    Server=(localdb)\v11.0;Integrated Security=true;
    The first connection to LocalDB will create and start the instance, this takes some time and might cause a connection timeout failure. If this happens, wait a bit and connect again.
       
    LocalDB automatic instance with specific data file

   
Code: [Select]
Server=(localdb)\v11.0;Integrated Security=true;
    AttachDbFileName=C:\MyFolder\MyData.mdf;
   
    LocalDB named instance

    To create a named instance, use the SqlLocalDB.exe program. Example SqlLocalDB.exe create MyInstance and SqlLocalDB.exe start MyInstance

    Server=(localdb)\MyInstance;Integrated Security=true;

    LocalDB named instance via the named pipes pipe name

    The Server=(localdb) syntax is not supported by .NET framework versions before 4.0.2. However the named pipes connection will work to connect pre 4.0.2 applications to LocalDB instances.

   
Code: [Select]
Server=np:\\.\pipe\LOCALDB#F365A78E\tsql\query;
    Executing SqlLocalDB.exe info MyInstance will get you (along with other info) the instance pipe name such as "np:\\.\pipe\LOCALDB#F365A78E\tsql\query".
       
    LocalDB shared instance

    Both automatic and named instances of LocalDB can be shared.

   
Code: [Select]
Server=(localdb)\.\MyInstanceShare;Integrated Security=true;
    Use SqlLocalDB.exe to share or unshare an instance. For example execute SqlLocalDB.exe share "MyInstance" "MyInstanceShare" to share an instance.
       
    Database mirroring


    If you connect with ADO.NET or the SQL Native Client to a database that is being mirrored, your application can take advantage of the drivers ability to automatically redirect connections when a database mirroring failover occurs. You must specify the initial principal server and database in the connection string and the failover partner server.

   
Code: [Select]
Data Source=myServerAddress;Failover Partner=myMirrorServerAddress;
    Initial Catalog=myDataBase;Integrated Security=True;

    There is ofcourse many other ways to write the connection string using database mirroring, this is just one example pointing out the failover functionality. You can combine this with the other connection strings options available.
       
    Asynchronous processing

    A connection to SQL Server that allows for the issuing of async requests through ADO.NET objects.

   
Code: [Select]
Server=myServerAddress;Database=myDataBase;Integrated Security=True;
    Asynchronous Processing=True;

     
    Using an User Instance on a local SQL Server Express instance

    The User Instance functionality creates a new SQL Server instance on the fly during connect. This works only on a local SQL Server instance and only when connecting using windows authentication over local named pipes. The purpose is to be able to create a full rights SQL Server instance to a user with limited administrative rights on the computer.

 
Code: [Select]
  Data Source=.\SQLExpress;Integrated Security=true;
    AttachDbFilename=C:\MyFolder\MyDataFile.mdf;User Instance=true;

    To use the User Instance functionality you need to enable it on the SQL Server. This is done by executing the following command: sp_configure 'user instances enabled', '1'. To disable the functionality execute sp_configure 'user instances enabled', '0'.

       
    Specifying packet size

   
Code: [Select]
Server=myServerAddress;Database=myDataBase;User ID=myUsername;
    Password=myPassword;Trusted_Connection=False;Packet Size=4096;

    By default, the Microsoft .NET Framework Data Provider for SQL Server sets the network packet size to 8192 bytes. This might however not be optimal, try to set this value to 4096 instead. The default value of 8192 might cause Failed to reserve contiguous memory errors as well, read more here.