hi ! my boss is thinking of redoing our accounting system which is currently running on FOXPRO - we are planning on a VB/SQL SERVER platform.but he isn't convinced that the benefits of SQL server outweigh those offered by FOXPRO especially since everyone in the office is very comfortable with Foxpro.Can anyone give me some solid advantages of SQL SErver or any other RDBMS over Foxpro ?
I posted a link to a prior article in here, that one about highperformance hierarchies, and have the first two parts of a new series.Hopefully this is of value to someone.http://www.yafla.com/papers/SQL_Ser..._sql_server.htmThanks.
There is a SQL Server 2008 R2 SP3 Clustered Instance that has Transactional Replication. It is by no means a large replication setup in terms of data/article count. SQL Server was recently patched to SP3 and is current on Windows 2008 R2 Patches.
When I added a new article to replication (via 2014 SSMS GUI) it seems to add everything correctly (replication tables/procs show the new article as part of the publication). The Publication is set to allow the snapshot to generate for just new articles (setting immediate_sync & allow_anonymous to false).
When the snapshot agent is run, it runs without error and claims to have generated a snapshot of 1 article. However the snapshot folder only contains a folder for the instance (that does have the modified time of the snapshot agent execution) and none of the regular bcp/schema files.
The tables never make it to the subscribers and replication continues on without error for the existing articles. No agents produce any errors and running the snapshot agent w/ verbose output provides no errors or insight into any possible issues.
I have tried:
- dropping/re-adding the article in question.
- Setting up a new Snapshot Folder
- Validated all the settings and configurations
I'm hesitant to reinitialize a subscriber since I am not confident a snapshot can be generated. Also wondering if this is related to the SP3 Upgrade, every few months new articles are added to the publication and this is the first time since the upgrade to SP3 that it has been done.
First of all; My Oracle publication works fine when I don't explicit specify the shema_option parameter for the articles I'm adding to the publication. The reason why I then want to explicit specify the parameter is as following.
I'm developing a replication solution to get data from our production server (Oracle) to our Data Warehouse (SQL Server). The SQL Server (and the Data Warehouse code) uses the SQL_Latin1_General_CP1_CI_AS collation. When I don't explicit specify the schema_option, the nvarchar columns of the replicated tables are created using the SQL_Latin1_General_CP1_CS_AS collation and this results in some comparison errors, when for instance a select statement is trying to compare two nvarchar strings using different collations.
I've tried to specify the schema_option parameter as "@schema_option = 0x80" (Replicates primary key constraints.) to avoid the use of the SQL_Latin1_General_CP1_CS_AS collation when creating the destination tables - I'm not sure it's enough? No matter what, I'm getting an error when I'm doing it (see below).
Message 2006-07-13 12:00:15.529 Applied script 'ITEMTRANSLATION_2.sch' 2006-07-13 12:00:15.544 Bulk copying data into table 'ITEMTRANSLATION' 2006-07-13 12:00:15.544 Agent message code 20037. The process could not bulk copy into table '"ITEMTRANSLATION"'. 2006-07-13 12:00:15.591 Category:NULL Source: Microsoft SQL Native Client Number: 208 Message: Invalid object name 'ITEMTRANSLATION'. 2006-07-13 12:00:15.591 Category:NULL Source: Number: 20253
The questions are now whether I actually have a schema_option alternative for Oracle Publishing? If so, what is the solution, and eventually how can I avoid the error stated above?
If I'm not able to avoid the article columns getting created with the "wrong" collation, is there then any other obviously solution to the problem?
Can someone at Microsoft comment on this article, specifically, how it relates to SQL Replication? Will SQL Replication fall into the category of what this article describes, or only the mirroring feature?
If I have an application that has at most 20 users with an average of 3-4 concurrent requests to the server and the databases size is 1 gig probably to grow to at most 1.5 gigs in the next 5 years why would I choose Express over MSDE?
MSDE can take advantage of more than 1 gig of memory and can use 2 CPUs. I really don't see any benefit whatsoever in my case to go to SQL Express, in fact all I see is drawbacks.
I hear about upgrading all over the place but I just don't see any good reason in my situation. Am I missing something here?
This may be too general a question but I'm going to ask it anyway.
I'm moving data from a source DB (say A) to a target DB (say B). On A I need to join 3 tables and, after some lookups etc., I need to populate several tables in B. Inserting into B's tables involves sequential operations because in many cases I have to get back the value of an Identity column to use as in input value in a another table 'downstream'. Additionally, the tables in B are populated as a group i.e. if the insert on any one fails the entire group's insertion needs to be rolled back.
I set up a set of stored procedures to do this. The master Stored Proc opens a read-only cursor and for each row of the cursor executes the other SPs in proper sequence. Some of the SPs are 'enclosed' within a transaction to enable a Rollback on the group.
My major concern with this approach was the 'known' inefficiency of the cursor and the huge memory requirement it's use would entail (the cursor would pull about 15 million rows).
So I began looking into SSIS thinking it would be able manage the system resources aspect effectively and offer better performance overall. I've realized, however, that even in SSIS I would essentially need to first pull the 14 mil rows into a memory-resident object (or a temp table - whose benefit I'm not convinced of or haven't fully understood) before looping through each row to perform the data inserts into B.
So, is there any real advantage to this over the first approach ? Perhaps I haven't looked deep enough or wide enough. Any constructive suggestions / feedback would be highly appreciated.
What is the advantages/disadvantages of using Database Diagram and link all the tables in MS SQL Server Management Studio versus letting the application check and link the different tables at run time? Currently, I do not have all my tables linked in a Database Diagram. I do everything at run time in my application code behind. What are the best practices? Which is easier or perhaps more secure?
Hi, Generally I write all my SQL in Stored Procedures instead of using adhoc queries. But I dont feel good about stored procedures when I come across situations like this.
Lets say that I have a stored procedure something like this
CREATE PROCEDURE dbo.proc_MYSP @CaseID char(10) AS SELECT * FROM TABLE1WHERE CASEID = @CASEID
Suppose in future if the field CASEID is changed to char(20) then I need to change the declaration of CaseID in all my stored procedures that take CaseID as input parameter. If I write adhoc queries then I need not worry about this. Is there any effective solution for a situation like this.
I have a content site where everything is currently in one SQL ServerDB. As I add features to the site, for example message boards andblogging, does it make sense to put those features in a separatedatabase? What would I lose and gain in doing so? Thanks so much.Erik
Are they're any real disadvantages or advantages in having 1 massive disk partioned to create 2 logical drives (not including the C drive) and separating the SQL Database File & Transaction Log so that it doesnt reside on the same logical drive?
Just wondering - on a straight RAID 5 system is there any advantage, performance or otherwise, to splitting a SQL 6.5 database over multiple database devices? Or for simplicity's sake am I just further off creating a single device and manually extending it as the database grows?
Dear All, what are the advantages of changing compatibility level from 80 to 90? are there any disadvantages doing this on production machine? will it take any downtime? i've searched the google but i didnt get the correct info.
Arnav Even you learn 1%, Learn it with 100% confidence.
I am trying to evaluate the pros and cons of using SQL Server over oledb connection to an access database.
So far
Pros Cons Access: Doesnt need to be installed by user. 2GB Data limit
SQLExpress: Not sure yet - more than 2gb data User has to install SQL Server compact.
Is there anything iv missed?
Iv run a quick test to decide on speed my results seem to suggest that oledb is faster at writing data, and SQL Server is faster at reading.
The test program clears the database:
and times how long it takes to insert 10000 records, the read the 10000 records back for OLEDB, then SQL Express.
Code Snippet using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data.OleDb; using System.Data.SqlClient; using System.Timers; namespace ConsoleApplication1 { class Program { static int a = 0; static int b = 0; static void Main(string[] args) {
Timer tmr0 = new Timer(1); Timer tmr1 = new Timer(1); tmr1.Elapsed += new ElapsedEventHandler(tmr1_Elapsed); OleDbConnection oledbcon = new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\database1.mdb"); oledbcon.Open(); OleDbCommand oledbcmd = new OleDbCommand("INSERT INTO Table1 (Can) VALUES ('1')",oledbcon); oledbcmd.CommandText = "DELETE * FROM Table1"; oledbcmd.ExecuteNonQuery(); tmr0.Elapsed += new ElapsedEventHandler(tmr0_Elapsed); tmr0.Enabled = true; for (int i = 0; i < 10000; i++) { oledbcmd.CommandText = "INSERT INTO Table1 (Can) VALUES ('" + i.ToString() + "')"; oledbcmd.ExecuteNonQuery(); } int aa = a; a = 0;
oledbcmd.CommandText = "SELECT * FROM Table1"; OleDbDataReader oledbreader; oledbreader = oledbcmd.ExecuteReader(); while (oledbreader.Read()) { oledbreader.GetInt32(0); } tmr0.Enabled = false; SqlConnection sqlcon = new SqlConnection("Data Source=localhost\SQLEXPRESS;Initial Catalog=;Integrated Security = SSPI"); sqlcon.Open(); SqlCommand sqlcmd = new SqlCommand("CREATE DATABASE Test",sqlcon); try { sqlcmd.ExecuteNonQuery(); } catch { } sqlcmd.CommandText = "CREATE TABLE Table1 (num INT)"; try { sqlcmd.ExecuteNonQuery(); } catch { } sqlcmd.CommandText = "DELETE FROM Table1"; sqlcmd.ExecuteNonQuery(); tmr1.Enabled = true; for (int i = 0; i < 10000; i++) { sqlcmd.CommandText = "INSERT INTO Table1 (num) VALUES ('" + i.ToString() + "')"; sqlcmd.ExecuteNonQuery(); } int bb = b; b = 0; sqlcmd.CommandText = "SELECT * FROM Table1"; SqlDataReader sqlreader = sqlcmd.ExecuteReader();
while (sqlreader.Read()) { sqlreader.GetInt32(0); } tmr1.Enabled = false; Console.WriteLine("OLEDB"); Console.WriteLine("Inserted 10000 records in "+aa.ToString()+"ms"); Console.WriteLine("Read 10000 records in " + a.ToString() + "ms"); Console.WriteLine("TOTAL: " + ((a + aa).ToString()) + "ms"); Console.WriteLine("SQL SERVER"); Console.WriteLine("Inserted 10000 records in " + bb.ToString() + "ms"); Console.WriteLine("Read 10000 records in " + b.ToString() + "ms"); Console.WriteLine("TOTAL: " + ((b + bb).ToString()) + "ms"); Console.ReadKey();
For the access database create a access2003 mdb file with a table "Table1" and a colomn of type integer called "Can";
save it as C:database1.mdb
Then compile and run above.
My results wereslow machine)
OLEDB Inserted 10000 records in 1512ms Read 10000 records in 6ms TOTAL: 1518ms SQL SERVER Inserted 10000 records in 1853ms Read 10000 records in 1ms TOTAL: 1854ms
MS has post a KB article on how to post a question on a online forum...
http://support.microsoft.com/kb/q555375
At first I though this was hilarious, but there is actually some good information in here that is applicable on this forum as well as anywhere else. Perhaps Brett could add this as a sticky?
Dear All, i'm in the transactional replication environment. we need to add one new table to the publisher. it is sql server 2005 environment. please explain me the steps
and in another table, i need to change the data type of a table.
please guide me
Arnav Even you learn 1%, Learn it with 100% confidence.
If I want to unpublish an article thru Enterprise Manager, it does not allow me to uncheck it at publication properties. It only allows me to uncheck articles if I delete the subscription first. Does anybody know how tp do this in Enterprise Manager without deleting the subscription?