none
sql database RRS feed

  • Soru

  • merhabalar 
    yaptıgım programı ve databasemi başka bilgisayara yuklediğimde
    sql den databesi attach etmem gerekiyor sanırım ama nasıl
    yapacağımı bilmiyorum.

    sql 2008 express yuklu 

    16 Temmuz 2011 Cumartesi 10:42

Yanıtlar

  • veritabanının .ldf ve .mdf dosyalarını alıp, diğer bilgisayara Attach edebilirsiniz.

    .ldf ve .mdf' in yeri eğer veritabanı oluştururken ya da restore ederken değiştirmediyseniz varsayılan yeri : C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data

    yeri bulmak için veritabanına sağ tıklayıp Properties' i seçip gelen pencerede sol taraftan File' ı seçtikten sonra ortadaki listView içerisinde Path kolonuna bakabilirsiniz.

    Ardından SQL Server Management Studio' da taşıyacağınız veritabanına  sağ tıklayıp Task' in altından Detach seçtikten sonra gelen pencerede Drop Connections checkBox' ını işaretleyip OK' e basmanız gerekmektedir. Artık .ldf ve .mdf dosyalarını kopyalayabilirsiniz.

    Attach edeceğiniz SQL Server' da Databases' a sağ tıklayıp, Attach seçtikten sonra gelen pencereden Add butonuna basıp .mdf dosyasını seçebilirsiniz. 

     


    http://www.mehmetx.com

    • Yanıt Olarak İşaretleyen mustafaovali 17 Temmuz 2011 Pazar 10:24
    16 Temmuz 2011 Cumartesi 11:01
    Yanıtlayıcı

Tüm Yanıtlar

  • veritabanının .ldf ve .mdf dosyalarını alıp, diğer bilgisayara Attach edebilirsiniz.

    .ldf ve .mdf' in yeri eğer veritabanı oluştururken ya da restore ederken değiştirmediyseniz varsayılan yeri : C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data

    yeri bulmak için veritabanına sağ tıklayıp Properties' i seçip gelen pencerede sol taraftan File' ı seçtikten sonra ortadaki listView içerisinde Path kolonuna bakabilirsiniz.

    Ardından SQL Server Management Studio' da taşıyacağınız veritabanına  sağ tıklayıp Task' in altından Detach seçtikten sonra gelen pencerede Drop Connections checkBox' ını işaretleyip OK' e basmanız gerekmektedir. Artık .ldf ve .mdf dosyalarını kopyalayabilirsiniz.

    Attach edeceğiniz SQL Server' da Databases' a sağ tıklayıp, Attach seçtikten sonra gelen pencereden Add butonuna basıp .mdf dosyasını seçebilirsiniz. 

     


    http://www.mehmetx.com

    • Yanıt Olarak İşaretleyen mustafaovali 17 Temmuz 2011 Pazar 10:24
    16 Temmuz 2011 Cumartesi 11:01
    Yanıtlayıcı
  • merhaba

    yardımınız için teşekkür ederim,

    ama karşıya kurduğum bilgisayarda sql 2008 express var.

    SQL Server Configuration Manager ı açıyorum ben hic attach yok biyerlerde.

     

     

     

    benim bir aktivasyon exem var bunu açnca activasyon numarası veriyor 

    ve db bağlantısını konrol ediyor ve connection stringi bir text dosyasına yazıyor

    sonra esas exe açılırken bu text dosyasına bakıp conncection stringi buradan alıyor.

    esas programı ilk kez çalıştırmadan once aktivasyou bir kez çalıştırmak gerekiyor.

     

     

    ben şimdi 

    activasyon exe yi c:\unique\aktivasyon.exe   ,

    db yi de c:\unique\getset\db\sut2.mdf ve ldf diye klasörlerin içine attım.

     

    activasyon exe yi çalıştırıyorum
    connectionstring teki servere . veya .\SQLEXPRESS yazıyorum
    database ye:  c:\unique\getset\db\sut2.mdf yazıyorum 

    hata veriyor kotlar aşağıdaki gibi yardımcı olursanız sevinirim

     

     

     if (checkBox1.Checked == true)

                {

                   instace="";

                }

                else

                {

                   instace=@"\SQLEXPRESS";

                }

                string constring = string.Format("Server={0}; database={1}; Integrated Security=SSPI", textBox5.Text,instace , textBox6.Text);

                SqlConnection con = new SqlConnection(constring);

                if (radioButton3.Checked == true)

                {

     

                    con.ConnectionString=string.Format("Server={0}{1}; database={2}; Integrated Security=SSPI", textBox5.Text,instace, textBox6.Text);

                    StreamWriter dosya = new StreamWriter(@"C:\unique\baglanti.baglanti");

                    dosya.WriteLine(con.ConnectionString = string.Format("Server={0}{1}; database={2}; Integrated Security=SSPI", textBox5.Text, instace, textBox6.Text));

                    dosya.Close();

                }

                else

    {

            con.ConnectionString = string.Format("Server={0}{1}; database={2};User Id={3};Password={4};",textBox5.Text,instace, textBox6.Text, textBox8.Text, textBox7.Text);

            StreamWriter dosya = new StreamWriter(@"C:\unique\baglanti.baglanti");

            dosya.WriteLine(con.ConnectionString = string.Format("Server={0}{1}; database={2};User Id={3};Password={4};",textBox5.Text,instace, textBox6.Text, textBox8.Text, textBox7.Text));

            dosya.Close();

    }

                try

                {

                    con.Open();

                    con.Close();

                }

                catch (Exception ex)

                {

     

                    MessageBox.Show("Veri Tabanı bağlantı hatası: \r" + ex.ToString());

                }

     

     

     

                try

                {

                    con.Open();

     

                    SqlCommand com = new SqlCommand(" UPDATE SETTINGS SET  AKTIVASYON = @AKTIVASYON  where IND=1", con);

     

                    com.Parameters.AddWithValue("@AKTIVASYON", textBox1.Text); /*nvarchar(50)*/

                    int i = com.ExecuteNonQuery();

                    con.Close();

                    if (i>0)

                    {

                        MessageBox.Show("Aktivasyon numarası başarı ile girildi.");

                        this.Close();

                    }

     

                }

                catch (Exception )

                {

                    MessageBox.Show("İşlem yapılamadı. \rVeri tabanı hatası\r");

     

                }

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

     

    16 Temmuz 2011 Cumartesi 14:20
  • birde şöyle bir durum var

    managemet studiodan 

    databaseyi eklemeye çalıştığımda 

    şu hataı veriyor

     

    ===================================

     

    Attach database failed for Server 'MUSTAFA'.  (Microsoft.SqlServer.Smo)

     

    ------------------------------

    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1447.4+((KJ_RTM).100213-0103+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476

     

    ------------------------------

    Program Location:

     

       at Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)

       at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabaseData.PrimaryFile.Attach()

       at Microsoft.SqlServer.Management.SqlManagerUI.AttachDatabase.SendDataToServer()

     

    ===================================

     

    Cannot attach a database with the same name as an existing database. (Microsoft.SqlServer.Smo)

     

    ------------------------------

    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1447.4+((KJ_RTM).100213-0103+)&LinkId=20476

     

    ------------------------------

    Program Location:

     

       at Microsoft.SqlServer.Management.Smo.Server.AttachDatabaseWorker(String name, StringCollection files, String owner, AttachOptions attachOptions)

       at Microsoft.SqlServer.Management.Smo.Server.AttachDatabase(String name, StringCollection files)

     

    16 Temmuz 2011 Cumartesi 14:22
  •  try
                {
              
                    string connectString =
                        "Server=(local);" +
                        "Integrated Security=true";
                    SqlConnectionStringBuilder builder =
                        new SqlConnectionStringBuilder(connectString);
           
                    MessageBox.Show("Original: " + builder.ConnectionString);
                    MessageBox.Show("AttachDBFileName={0}", builder.AttachDBFilename);
                    builder.AttachDBFilename = @"C:\unique\SetGet\DB\SUT2.MDF";
                    MessageBox.Show("Modified: " + builder.ConnectionString);
              
                    using (SqlConnection connection = new SqlConnection(builder.ConnectionString))
                    {
                        connection.Open();
                        // Now use the open connection.
                        MessageBox.Show("SQL bağlantısı başarılı");
                    }
                    MessageBox.Show("Veritabanı oluşturma başarılı.\r Şimdi bağlantıyı test edecek. Eğer test başarılı olmaz ise bilgisayarı yeniden başlatın.");
                }
                catch 
                {
                    MessageBox.Show("Veritabanı oluşturulamadı\r Sql Servere bağlanamıyor olablir. /Databesi  adresinde bulamıyor olablir.");
                }
    birde şunu denemiştim sabah bu olmuştu sanki 
    ama şimdi catch düşüyor
    ve şunu diyor: eqlexeption
     An attempt to attach an auto-named database for file C:\unique\SetGet\DB\SUT2.MDF failed. A database with the same name exists, or specified file cannot be opened, or it is located on UNC share. 
    16 Temmuz 2011 Cumartesi 15:26
  • merhabalar 
    yaptıgım programı ve databasemi başka bilgisayara yuklediğimde
    sql den databesi attach etmem gerekiyor sanırım ama nasıl
    yapacağımı bilmiyorum.

    sql 2008 express yuklu 


    attach edebildiniz mi?
    http://www.mehmetx.com
    17 Temmuz 2011 Pazar 10:15
    Yanıtlayıcı