Showing posts with label customers. Show all posts
Showing posts with label customers. Show all posts

Tuesday, March 27, 2012

Database Collation: Chinese, Japanese, Korean

My application supports multiple languages/locales in a single database. Some of our new customers want to support Chinese, Japanese, Korean, Italian, Spanish, and German in addition to English. Supporting the Latin based languages is not a problem. But I am having trouble finding a collation sequence that allows me to store the other double byte languages in the same database correctly.

I have found changing the data types from text, char, varchar to ntext, nchar, nvarchar and adding an N in front of the various strings that getting inserted seems to work:

insert into CONTENTDATA (recordid, xml)
values (newid(), N'<CHANNEL1><FILE1/><TEXT1><![CDATA[和红魔拉拉队的动感精神
]]></TEXT1><TEXT3><![CDATA[和红魔拉拉队的动感精神]]></TEXT3></CHANNEL1>');

But this is not going to be a practical solution for us. Is there a collation sequence that would allow us to store multiple locales like we do in Oracle (AL32UTF8)?

Thanks in advance

Dov RosenbergYou can store multiple languages in SQL Server (since version 7.0) using the Unicode data types as you have noted. In Setup, you can also choose the default Server collation.If you need a finer level of collation control subsequently, you can use the multiple collations per column feature in SQL Server 2000 / 2005. More details at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/architec/8_ar_da_6ttf.asp, http://msdn.microsoft.com/SQL/2000/learn/internat/default.aspx.

Sunday, March 25, 2012

Database backups growing exponentially

Hi All.

I'm currently maintaining 4 servers - 1 for public/customers and 3
for backups, development, etc...
I regularly backup the entire SQL database for our public server and
restore it on each of the other servers. Lately, however, the database
backups have grown (in size) incredibly fast - they've gone from about
200MB to 2+ GB in 2 months. (I wasn't entirely surprised by this at
first since our client traffic has drastically increased as well.) The
weird thing, though, is that (on two of the backup servers) when I
restore the backup then use those servers to create a new complete
backup, the new backup is only about 200-300 MB in size.
My assumption is that there's some kind of setting buried deep inside
the sql configuration allowing it to compress or otherwise alter
backups. Does anyone have any ideas/thoughts as to what may be causing
this issue?
We're using SQL Server 7 on Windows 2000 servers.

Thanks in advance.

Gregg
GArpin@.nospam.plan3D.comHi

You are probably appending multiple backups to the same device. The INIT
keyword indicates the backup will overwrite existing backups the NOINIT
keyword indicates that the backup will be appended. See Books online for
more details.

John

<greggarpin@.hotmail.com> wrote in message
news:1112031032.928818.223430@.z14g2000cwz.googlegr oups.com...
> Hi All.
> I'm currently maintaining 4 servers - 1 for public/customers and 3
> for backups, development, etc...
> I regularly backup the entire SQL database for our public server and
> restore it on each of the other servers. Lately, however, the database
> backups have grown (in size) incredibly fast - they've gone from about
> 200MB to 2+ GB in 2 months. (I wasn't entirely surprised by this at
> first since our client traffic has drastically increased as well.) The
> weird thing, though, is that (on two of the backup servers) when I
> restore the backup then use those servers to create a new complete
> backup, the new backup is only about 200-300 MB in size.
> My assumption is that there's some kind of setting buried deep inside
> the sql configuration allowing it to compress or otherwise alter
> backups. Does anyone have any ideas/thoughts as to what may be causing
> this issue?
> We're using SQL Server 7 on Windows 2000 servers.
> Thanks in advance.
> Gregg
> GArpin@.nospam.plan3D.com|||My thoughts too!

Not sure if you're doing the backup via a batch process or the GUI.

I'm going to describe the GUI interface, since that also includes a
scheduler attribute that you may be using.

At the bottom of the "SQLServer Backup" panel, there's a section
called "Overwrite" -- set it to "Overwrite existing media" and
perform a backup.

Item to think about: it also sounds as though you're doing a complete
backup of the database each time. If you wish to retain the historical
sequence of records being added, changed and deleted; you'll need to
select "differential backup" or "transaction log", depending upon your
requirements.

The decision as to which method of backups to use depends upon the
volatility of the data and how important the historical "log" is
versus snap-shots.

Have you also thought of replication to shift the data between the
servers? You are obviously doing a one-way star arrangement (central
master and remote copies, no changes coming back) and replication is a
perfect solution to your needs.sql

Thursday, March 8, 2012

Database adapter?

So what exactly is a database adapter? There is a company that wants to
provide reporting services to our customers using a proprietary technology,
but all they will tell us is they use an adapter and a listener through
ODBC. Seems to me that an adapter is just a fancy way of saying a wrapper
over ODBC and the listener must be installing some type of triggers or
something. I am psychotically opposed to any third party application
installing any objects into our databases. "Adapter" is a pretty darned
generic term and I'm not really comfortable with their explanation. I need
to be able to ask better questions.
Bob Castleman
DBA PoseurIt is possible that they have an ADO.NET DataAdapter. If so, it lives in
their application and not in your database. And yes, it's basically a
wrapper that encapsulates database-specific connection properties and
methods. But that's just a wild guess as to what *they* mean by "data
adapter".
-HTH
"Bob Castleman" <nomail@.here> wrote in message
news:eKI2vPRbFHA.2420@.TK2MSFTNGP15.phx.gbl...
> So what exactly is a database adapter? There is a company that wants to
> provide reporting services to our customers using a proprietary
> technology, but all they will tell us is they use an adapter and a
> listener through ODBC. Seems to me that an adapter is just a fancy way of
> saying a wrapper over ODBC and the listener must be installing some type
> of triggers or something. I am psychotically opposed to any third party
> application installing any objects into our databases. "Adapter" is a
> pretty darned generic term and I'm not really comfortable with their
> explanation. I need to be able to ask better questions.
> Bob Castleman
> DBA Poseur
>|||The adapter part seems obvious to me, but what is not at all clear is how
this can *sense* updates to the database without installing triggers.
Hmmmm.
Bob
"Jeffrey Todd" <Me@.Somewhere.net> wrote in message
news:OTpcBmRbFHA.2212@.TK2MSFTNGP14.phx.gbl...
> It is possible that they have an ADO.NET DataAdapter. If so, it lives in
> their application and not in your database. And yes, it's basically a
> wrapper that encapsulates database-specific connection properties and
> methods. But that's just a wild guess as to what *they* mean by "data
> adapter".
> -HTH
>
> "Bob Castleman" <nomail@.here> wrote in message
> news:eKI2vPRbFHA.2420@.TK2MSFTNGP15.phx.gbl...
>|||<< not at all clear is how this can *sense* updates to the database >>
Maybe they use classes in the System.Voodoo namespace in conjunction with
their ADO.NET DataAdapter.
without knowing more, and grasping for possibilities, maybe they
periodically query the db and compare against values in the application's
memory or perhaps compare to values persisted to a local disk where the app
is running... but that gets ugly quickly if they're doing it that way.
Can you tell us more about what they plan to actually install, and where it
gets installed? This "listening" thing is puzzling. Are they installling a
Windows Service that will broadcast on some port that gets listened to? Are
they setting up some custom TCP Server?
-JT
"Bob Castleman" <nomail@.here> wrote in message
news:uZ5ml4RbFHA.720@.TK2MSFTNGP15.phx.gbl...
> The adapter part seems obvious to me, but what is not at all clear is how
> this can *sense* updates to the database without installing triggers.
> Hmmmm.
>
> Bob
> "Jeffrey Todd" <Me@.Somewhere.net> wrote in message
> news:OTpcBmRbFHA.2212@.TK2MSFTNGP14.phx.gbl...
>|||Well it turns out that after beating them upside the head they finally
admitting to using triggers. I have no clue why they were so freaking
secretive.
This brings up my next question. Would any DBA worth anything ever allow a
third party application to install triggers? In my mind, my database is
sacred and NOBODY outside of my organization can change it. Technically, a
trigger isn't a schema change, but I have real problems with somebody else
sticking objects in my databases.
Bob
"Jeffrey Todd" <Me@.Somewhere.net> wrote in message
news:OJbRvDTbFHA.3240@.TK2MSFTNGP12.phx.gbl...
> << not at all clear is how this can *sense* updates to the database >>
> Maybe they use classes in the System.Voodoo namespace in conjunction with
> their ADO.NET DataAdapter.
> without knowing more, and grasping for possibilities, maybe they
> periodically query the db and compare against values in the application's
> memory or perhaps compare to values persisted to a local disk where the
> app is running... but that gets ugly quickly if they're doing it that way.
> Can you tell us more about what they plan to actually install, and where
> it gets installed? This "listening" thing is puzzling. Are they
> installling a Windows Service that will broadcast on some port that gets
> listened to? Are they setting up some custom TCP Server?
> -JT
>
> "Bob Castleman" <nomail@.here> wrote in message
> news:uZ5ml4RbFHA.720@.TK2MSFTNGP15.phx.gbl...
>|||"Bob Castleman":

> Well it turns out that after beating them upside the head they finally
> admitting to using triggers. I have no clue why they were so freaking
> secretive.
> This brings up my next question. Would any DBA worth anything ever allow a
> third party application to install triggers? In my mind, my database is
> sacred and NOBODY outside of my organization can change it. Technically, a
> trigger isn't a schema change, but I have real problems with somebody else
> sticking objects in my databases.
> Bob
Personally, I wouldn't allow it: I don't like allowing in-house personnel to
add triggers :)
One thing: is this solution for auditing all database activity? If that's
what you're looking for, you can try Lumigent. I like their Log Explorer
product, but they also have a full-blown activity audit product called (I
think) Entegra: obviously it's a lot more expensive.
Their products are based on proprietary technology that examines the SQL
Server log files, so no triggers or any other schema change. (Log Explorer
does need it's own database, so I assume Integra does as well).
Craig|||It's just a reporting application. What bugs me is that we have an XML based
API but the refuse to use it.
The log explorers are something I've looked at briefly for auditing.
Especially in light of SOX, they might be useful. It could be a convenient
way to maintain audit trails.
Bob
"Craig Kelly" <cnkelly@.spamnomore.worldnet.att.net> wrote in message
news:z14qe.302594$cg1.243213@.bgtnsc04-news.ops.worldnet.att.net...
> "Bob Castleman":
>
> Personally, I wouldn't allow it: I don't like allowing in-house personnel
> to add triggers :)
> One thing: is this solution for auditing all database activity? If that's
> what you're looking for, you can try Lumigent. I like their Log Explorer
> product, but they also have a full-blown activity audit product called (I
> think) Entegra: obviously it's a lot more expensive.
> Their products are based on proprietary technology that examines the SQL
> Server log files, so no triggers or any other schema change. (Log
> Explorer does need it's own database, so I assume Integra does as well).
> Craig
>